package com.app.controller;

import net.sf.json.JSONObject;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/DemoService")
public class DemoService {
	// get方式请求:

	// 读取配置文件内容的注解@Value，不用可忽略
	//@Value("${localparams}")
	//public String localParams;
	//  本地测试访问地址：路径中的{}换成具体的入参值
	// 	http://localhost:8080/RestfulDemo/DemoService/get/{empId}/{serName}/{"key":"GET_INFO","content":{"id":"1"}}

	/**
	 * @param empId 工号，用户的唯一标识，调用方会传入，不用可忽略；
	 * @param serName 系统标识亦可用来切分执行不同方法，不用可忽略；
	 * @param params 业务的请求参数，json格式；
	 * @return json格式
	 */


	//  post方式请求:

	//  本地测试访问地址：路径中的{}换成具体的入参值,本地测试可用form表单post请求该接口做调试；
	// 	http://localhost:8080/RestfulDemo/DemoService/post/{empId}/{serName}
	//  post内容入参为：{"key":"POST_INFO","content":{"id":"2"}}
	/**
	 * @param empId 工号，用户的唯一标识，调用方会传入，不用可忽略；
	 * @param serName 系统标识亦可用来切分执行不同方法，不用可忽略；
	 * @param params 业务的请求参数，json格式；
	 * @return json格式
	 */
	@RequestMapping(value = "/post/{empId}/{serName}", method = RequestMethod.POST)
	@ResponseBody
	public String postInfo(@RequestParam("params") String params, //注意：此处采用注解@RequestParam，call浦对接时，该处请务必使用"params"来接收参数；
						 @PathVariable("empId") String empId,
						 @PathVariable("serName") String serName) {
		JSONObject jsonObjectInput = JSONObject.fromObject(params);// 将参数转成JSON对象
		String key = jsonObjectInput.getString("key");// 获取参数的key，可根据不同的key执行不同的方法
		String content = jsonObjectInput.getString("content");// 获取参数的content
		JSONObject dataObj = JSONObject.fromObject(content);// 转化为json对象
		//Data data = new Data();//封装响应报文的JSON数据对象；
		 String data="";
    /*	Demo  demo = (Demo)JSONObject.toBean((JSONObject) dataObj, Demo.class);//注意JSON对象和实体类属性的对应
    	List<Demo> list = null;*/
		try{
			if (key.equals("POST_INFO")) {//根据不同的KEY执行不同的方法对数据库操作
			//list = super.selectListObject("getDemo", demo); //从数据库读取数据
				data="这是DOME1";
			}
			//data.setList(list);
			/*
			if (null == list || list.size()==0) {
				data.setmsg("未查询到相关信息");
				data.setcode("-1");
			} else {
				data.setmsg("查询成功");
				data.setcode("0");
			}*/
		}
		catch (Exception e){
			e.printStackTrace();
			/*data.setcode("err");
			data.setmsg(e.getMessage());*/
		}
		return data;
	}
}
